Alteryx Tips : ワークフロー開発時のフォルダ構成とファイルパス
本記事では Alteryx Designer を効果的に活用するための Tips として Alteryx Designer を使ったワークフロー開発時のフォルダ構成と各ファイルの参照方法(パス)に関する基本的な考えについて記載しています。
その他の Alteryx Designer 利用時の Tips についても、今後記事にしていく予定です。
ワークフロー構築時のフォルダ構成
作業を通して適切なフォルダ構成を維持することで、作業概要の把握や他のチームメンバーとの共有が効率的に行えます。
ワークフロー開発においては、プロジェクト単位で、少なくとも以下のようなフォルダを用意することで、開発がしやすくなると考えます。
- Input フォルダ
- ワークフローで使用するデータソース(ファイル)を保管します
- Output フォルダ
- ワークフローから出力されるデータファイルがある場合、出力先フォルダとして利用します
Alteryx Designer での処理を記述したワークフローファイル(.yxmd
)は、上記のフォルダと同じ階層に保存することで、後述する手順でワークフローをエクスポートする際に、同じ階層または子階層のフォルダー構造を維持することが可能です。
上記をもとに Alteryx Designer 使用時のフォルダ構成を用意すると、次のようになります。
注意点として、ここでは最低限用意すると開発がスムーズに進む構成をご紹介しておりますので、実際には、組織やプロジェクトの要件合わせて、必要なフォルダの粒度や名称を変更するようお願いいたします。
ファイルの参照方法(パス)
ワークフローからは使用するデータファイルを指定したり、結果を出力する際は、「パス」というものを指定します。
パスは、ファイルやフォルダの場所を示す文字列を指します。パスは通常、フォルダとファイル名を区切る文字で分けられ、Winsdows ではこの区切り文字としてバックスラッシュ(\
)を使用します。そのため、Alteryx からファイルを参照する際のパスの区切り文字にもバックスラッシュが使用されます。
例えば、以下のような形式で使用します。
D:\SampleProject\Input\SampleData.csv
これにより、データファイル(SampleData.csv)は、Dドライブ内の「SampleProject」フォルダ内の「Input」フォルダにあることがわかります。
絶対パスと相対パス
パスには絶対パスと相対パスの2つのタイプがあります。
絶対パス
絶対パスは、ファイルやフォルダの場所をルートディレクトリ(つまりドライブ文字)から完全に指定する方法です。ファイルやフォルダの正確な場所を示す際に利用され、フルパスとも呼ばれます。
相対パス
相対パスは、現在の作業フォルダ(カレントフォルダ、カレントディレクトリ)からの相対的なファイルやフォルダの場所を指定する方法です。
相対パスによる指定では、ドット(.
)により現在のディレクトリを表し、二重ドット(..
)は、親ディレクトリを指します。
次の図のようなフォルダ構成があるとします。
ワークフローファイル(SampleWF.yxmd
)を配置している「SampleProject」フォルダを作業フォルダとすると、各ファイルは絶対パスと相対パスで以下のように表現できます。
参照する対象 | 絶対パス | 相対パス |
---|---|---|
SampleWF.yxmd | D:\SampleProject\SampleWF.yxmd | SampleWF.yxmd または .\SampleWF.yxmd |
SampleData.csv | D:\SampleProject\Input\SampleData.csv | .\Input\SampleData.csv |
※SampleWF.yxmd を参照する際は、.\
を使用し明示的にカレントフォルダを指定することも可能です。
Alteryx ワークフローにおける絶対パス・相対パスの変換
Alteryx Designer では、ファイルをワークフローから参照すると、はじめに絶対パスが使用されます。以下は上図と同様のフォルダ構成で、データ入力ツールから CSV ファイルを読み込んだ例です。
「オプション > 詳細オプション > ワークフロー依存関係」よりワークフローに追加したデータファイルのパスを確認できます。
「編集」からデータファイル単位や、下部の [すべて絶対パス] [すべて相対パス] より、まとめて指定のパスへの変換も可能です。(下図は [すべて相対パス] に変更した例)
各パスの特徴と使用例
それぞれのパスの特徴は以下の通りです。
絶対パス
- ファイル位置を一意に特定可能なため、ワークフロー(
.yxmd
)の位置(保存先)を変更してもワークフロー内で使用しているファイル(データ、マクロなど)を特定できる - 他のディスクドライブ上のデータを参照できる
相対パス
- ワークフローの位置を基準に各ファイルを参照するため、ワークフローを移動する場合、参照されているファイル (データ、マクロなど) も同じ構造のまま移動する必要がある
- ワークフローを別のユーザーと共有したい場合(他のマシンで実行する場合)は、相対パスを使用し、プロジェクトフォルダ単位で共有することで、フォルダ構成が異なる環境でも動作する
- ※絶対パスを使用する場合、ファイルの共有元・共有先それぞれのマシンで同じフォルダ構成を持っている必要がある
使用例
ワークフロー開発における絶対パスと相対パスの選択も、プロジェクトの要件や作業環境によって異なりますが上記の特徴にあわせて、異なる環境での動作を重要視する場合は相対パス、各ファイル参照における明確性を重視する際は、絶対パスを用いるのが一般的です。
上述の「SampleProject」フォルダを基準にワークフロー開発を行っているとします。
このプロジェクトにおいて、ワークフローを共有することが考えられる場合、相対パスを使用することが一般的な選択肢になり得ます。
入出力先のフォルダに絶対パスを使用していると、異なる環境(マシン)で作業する場合、絶対パスは無効になり、再度パスの設定が必要となりますが、相対パスの場合は、現在のディレクトリ構造に基づいているため「D:\SampleProject」フォルダを共有することで、異なる環境でもパスが有効となるためです。
ワークフローのエクスポート
ワークフローを共有する際は、プロジェクトフォルダそのものを共有(コピーや送付)することも可能ですが、Alteryx として共有時に利用可能なエクスポート機能が提供されています。
- 公式Doc
- 弊社ブログ記事
詳細な手順は上記をご覧いただければと思いますが、この機能を使うと、ワークフローそのものやワークフローで参照するデータファイルなどを「アセット」としてまとめ、yxzp
拡張子からなる「ワークフローパッケージ」という形式でエクスポートされます。
共有時は、このワークフローパッケージを共有先に提供します。この際、ワークフローに含まれるアセットのフォルダ構造は、含まれているファイルがワークフローファイルと同じ階層か子階層である場合、維持される仕様です。
そのため、プロジェクトフォルダにおいて Input や Output など指定のフォルダ名を使用しており、ワークフローパッケージとして共有時も維持したい場合は、ワークフローファイルの保存先に注意します。
※データファイルなどが、ワークフローファイル(.yxmd
)と同じ階層や子階層にないが、ワークフローパッケージに含めた場合、そのファイルは外部ファイルと見なされ、自動的に _externals
フォルダに格納されます。
さいごに
Alteryx Designer を使ったワークフロー開発時のフォルダ構成と各ファイルの参照方法(パス)について記載しました。
今後もこのような形で、Alteryx Designer 利用時の Tips を記事にしていきます。こちらの内容が何かの参考になれば幸いです。